/**
 * 
 */
package com.wolfpire.info.model;

import java.io.Serializable;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.persistence.Transient;

import org.springframework.format.annotation.DateTimeFormat;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.wolfpire.system.common.Constants;
import com.wolfpire.system.common.UnCover;

/**
 * 闽台与国际交流合作情况统计表
 * @author lihd
 *
 */

@Entity
@Table(name = "t_communicat_cooperation")
public class CommunicateCooperation implements Serializable {
	
	private static final long serialVersionUID = 4894284892274974504L;

	@Id
	@GeneratedValue(strategy = GenerationType.IDENTITY)
	@Column(name = "id", unique = true, nullable = false, length = 16)
	private Long id;//主键Id
	
	@Column(name = "year_", length = 5)
	private Integer year; //年度
	
	@Column(name = "create_user_id", length = 16)
	private Long createUserId; //创建用户Id
	
	@Column(name = "create_user_name", length = 50)
	private String createUserName; //创建用户名称
	
	@UnCover
	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "create_time")
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")  
	@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") 
	private Date createTime = new Date();//创建时间
	
	@Column(name = "del_flag", length = 1)
	private Integer delFlag = Constants.NORMAL_FLAG;
	
	
	@Transient
	private CommunicateCooperationDetail taiwanDetail; //闽台合作交流
	
	@Transient
	private CommunicateCooperationDetail abroadDetail; //中外合作交流
	
	public CommunicateCooperation() {
		
	}

	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public Integer getYear() {
		return year;
	}

	public void setYear(Integer year) {
		this.year = year;
	}

	public Long getCreateUserId() {
		return createUserId;
	}

	public void setCreateUserId(Long createUserId) {
		this.createUserId = createUserId;
	}

	public String getCreateUserName() {
		return createUserName;
	}

	public void setCreateUserName(String createUserName) {
		this.createUserName = createUserName;
	}

	public Date getCreateTime() {
		return createTime;
	}

	public void setCreateTime(Date createTime) {
		this.createTime = createTime;
	}

	public Integer getDelFlag() {
		return delFlag;
	}

	public void setDelFlag(Integer delFlag) {
		this.delFlag = delFlag;
	}

	public CommunicateCooperationDetail getTaiwanDetail() {
		return taiwanDetail;
	}

	public void setTaiwanDetail(CommunicateCooperationDetail taiwanDetail) {
		this.taiwanDetail = taiwanDetail;
	}

	public CommunicateCooperationDetail getAbroadDetail() {
		return abroadDetail;
	}

	public void setAbroadDetail(CommunicateCooperationDetail abroadDetail) {
		this.abroadDetail = abroadDetail;
	}

}
